﻿using Shop.Core.Share;
using Shop.Model.Dto.Admin.Goods;
using Shop.Model.View.Admin.Goods;

namespace Shop.IServices.Admin;

public interface IGoodsService
{
    /// <summary>
    /// 商品列表
    /// </summary>
    /// <param name="dto"></param>
    /// <returns></returns>
    AppResult<PageModel<GodListVo>> GodList(GodListDto dto);

    /// <summary>
    /// 新增商品
    /// </summary>
    /// <param name="dto"></param>
    /// <returns></returns>
    AppResult GodAdd(GodAddDto dto);

    /// <summary>
    /// 商品详情
    /// </summary>
    /// <param name="gId"></param>
    /// <returns></returns>
    AppResult<GodDetailsVo> GodDetails(long gId);

    /// <summary>
    /// 修改商品
    /// </summary>
    /// <returns></returns>
    AppResult GodEdit(GodEditDto dto);

    /// <summary>
    /// 删除商品
    /// </summary>
    /// <param name="gId"></param>
    /// <returns></returns>
    AppResult GodDel(List<long> gId);

    /// <summary>
    /// 下架商品
    /// </summary>
    /// <param name="gId"></param>
    /// <returns></returns>
    AppResult GodOut(List<long> gId);

    /// <summary>
    /// 上架商品
    /// </summary>
    /// <param name="gId"></param>
    /// <returns></returns>
    AppResult GodUp(List<long> gId);
}